package com.augusto.sistema.vendas.produto;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import com.augusto.sistema.vendas.cliente.Cliente;
import com.augusto.sistema.vendas.produto.Produto;
import com.augusto.sistema.vendas.produto.ProdutoDAO;

public class ProdutoDAOHibernate implements ProdutoDAO {

	private Session sessao;

	public Session getSessao() {
		return sessao;
	}

	public void setSessao(Session sessao) {
		this.sessao = sessao;
	}

	@Override
	public void salvar(Produto produto) {
		this.sessao.save(produto);

	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Produto> listar() {
		Criteria listar = sessao.createCriteria(Produto.class);
		return listar.list();
	}

	@Override
	public void excluir(Produto produto) {
		this.sessao.delete(produto);

	}

	@Override
	public Produto pesquisarPorDescricao(String descricao) {
		Criteria criteria = sessao.createCriteria(
				Produto.class);
				      criteria.add(Restrictions.like("descricao", "%"+descricao+"%"));
				      return (Produto) criteria.uniqueResult();

	}

}
